package main

import (
	"fmt"
	"unicode"
)

func main() {

	s := []rune("我爱中国。Hi...")
	fmt.Println(len(s)) 	// 10
	// 判断是否为在定字符集中
	fmt.Println(unicode.In(s[0], unicode.Han)) //true
	// 是否为字母
	fmt.Println(unicode.IsLetter(s[4])) // false 。

	fmt.Println(unicode.IsUpper(s[5])) // true H

	fmt.Println(unicode.IsLower(s[6])) // true i

	const lcG = 'g'
	fmt.Printf("%#U\n", unicode.To(unicode.UpperCase, lcG)) // U+0047 'G'
	fmt.Printf("%#U\n", unicode.To(unicode.LowerCase, lcG)) // U+0067 'g'
	fmt.Printf("%#U\n", unicode.To(unicode.TitleCase, lcG)) // U+0047 'G'

	const ucG = 'G'
	fmt.Printf("%#U\n", unicode.To(unicode.UpperCase, ucG)) // U+0047 'G'
	fmt.Printf("%#U\n", unicode.To(unicode.LowerCase, ucG)) // U+0067 'g'
	fmt.Printf("%#U\n", unicode.To(unicode.TitleCase, ucG)) // U+0047 'G'

	fmt.Println(unicode.IsNumber([]rune("1")[0])) // true


}
